The rapid expansion of specialized hardware architectures has significantly increased the complexity of software optimization. Modern computing systems now incorporate diverse processors, co-processors, and heterogeneous execution environments. Each type of hardware requires specific optimization strategies to fully exploit its computational potential. Therefore, generic compiler optimizations often fail to account for intricate software–hardware interactions, leading to inefficiencies or performance degradation. Moreover, evolving compilation frameworks like LLVM continually introduce new optimizations and modify their optimization managers. This constant evolution makes it challenging to establish standardized optimization strategies. In this work, we first analyze the impact of the two existing pass managers in LLVM on automatic software optimization. Then, we define a novel two-level combinatorial optimization problem that leverages both pass managers for improved runtime performance. We solve this problem using a cooperative co-evolutionary cellular genetic algorithm and conduct extensive experiments to evaluate the impact of the different pass managers on software runtime. Specifically, we assess three optimization strategies, considering the legacy and new pass managers. Results demonstrate that the proposed methodology significantly enhances the runtime efficiency of the considered software, achieving up to 99.41% runtime improvement over the non-optimized program and 98.88% over the best existing optimization approaches.
Loading....